A web service provides either an application programming interface (“API”) or a Uniform Resource Locator (“URL”) to enable a Remote Procedure Call (“RPC”) over a network. Web services are generally described by the Web Service Definition Language (“WSDL”). WSDL defines the syntactic structure and content of a web service interface. Because service providers can develop web services in various manners according to their own desires, however, WSDL is inconsistent across different web services. For example, two web services providing the same function may provide different syntactic interfaces, as specified by WSDL. Further, two web services providing different functions may use the same syntactic interface, as described by WSDL. As a result, use of WSDL causes uncertainties in web service invocation, and a service user cannot effectively utilize a web service without knowing the specific syntactic interface specified for the web service. Dynamic web service invocation, which is defined as invocation without reprogramming, provides the flexibility to select from various web services capable of performing the same job. Because of the current uncertainties in WSDL, dynamic web service invocation is not feasible.
Universal Description, Discovery, and Integration (UDDI) is an initiative for registering web services. A UDDI registry is designed for publishing web services created by various service providers. Service providers register their web services to the UDDI registry, where service requestors locate desired web services. Upon request from a service requestor for a web service, the UDDI registry provides the service requestor with information about the requested web service based on the syntactic interface defined in WSDL, and directs the service requestor to a service provider and location of the web service. Based on the information received from the UDDI registry, the service requestor consumes and invokes the web service directly from the service provider.
WSDL has been criticized as providing little semantic meaning about a web service. While a web service can be identified in a UDDI registry based on its syntactic interface defined in WSDL, it may be difficult to identify a web service based on its semantic meaning or purpose. As a result, web service discovery is difficult to implement under conventional methods.
Due to the semantic uncertainty in web services, which do not conventionally include semantic descriptions, service discovery is not effective with conventional methods. Further, due to the syntactic uncertainty, dynamic invocation is infeasible. Therefore, with conventional methods, the comprehensive goals of web services cannot be realized. Semantic web services, i.e., web services with defined semantics, have been the cutting-edge research front in both industry and academia with a comprehensive goal to enable the automatic and dynamic service discovery, matchmaking, composition, and invocation of web services.